package aidn.animation.utils 
{
	import aidn.animation.display.CustomMovieClip;
	import flash.display.DisplayObjectContainer;
	import flash.display.MovieClip;
	
	public class Extra
	{
		private static var _target :DisplayObjectContainer;
		
		/**
		 * 初期化します(最初に実行)。
		 * @param	target		addChild する対象。
		 */
		public static function initialize ( target :DisplayObjectContainer ) :void
		{
			_target = target;
		}
		
		/**
		 * クラスからMovieClipを生成して配置します(最終フレームで自動的に破棄されます)。
		 * @param	Cl
		 * @param	px
		 * @param	py
		 * @param	scale
		 * @param	rotation
		 */
		public static function create ( Cl :Class, px :int = 0, py :int = 0, scale :Number = 1.0, rotation :Number = 0 ) :void
		{
			var tmp :* = new Cl();
			var cmc :CustomMovieClip;
			
			if ( tmp is CustomMovieClip )
			{
				cmc = tmp as CustomMovieClip;
				cmc.autoKill(true);
			}
			else
			{
				cmc = new CustomMovieClip();
				cmc.addChild(tmp);
				cmc.autoKill(true, tmp);
			}
			
			cmc.x = px;
			cmc.y = py;
			
			cmc.scaleX = cmc.scaleY = scale;
			cmc.rotation = rotation;
			
			_target.addChild(cmc);
		}
		
		/*
		public static function explode ( ) :void
		{
			
		}
		*/
	}
}